home *** CD-ROM | disk | FTP | other *** search
/ Archive Magazine CD 1995 / Archive Magazine CD 1995.iso / discs / prog_disc / volume_5 / issue_06 / benchmarks / c_source / sieve < prev    next >
Encoding:
Text File  |  1991-06-04  |  679 b   |  39 lines

  1. /*
  2.  * Sieve benchmark
  3.  */
  4.  
  5. #include "timer.h"
  6. #define TRUE 1
  7. #define FALSE 0
  8. #define SIZE 8190
  9.  
  10. char flags[SIZE + 1];
  11.  
  12. main()
  13. {
  14.     register int i, prime, k, count, iter;
  15.  
  16.     init_timer();
  17.     start_timer();
  18.  
  19.     for(iter = 1; iter <= 10; iter++)
  20.     {
  21.         count = 0;
  22.         for(i = 0; i <= SIZE; i++)
  23.             flags[i] = TRUE;
  24.         for(i = 0; i <= SIZE; i++)
  25.         {
  26.             if(flags[i])
  27.             {
  28.                 prime = i + i + 3;
  29.                 for(k = i + prime; k <= SIZE; k += prime)
  30.                     flags[k] = FALSE; 
  31.                 count++;
  32.             }
  33.         }
  34.     }
  35.     print_elapsed("Sieve benchmark", USERMIN|USERSEC);
  36.     exit(0);
  37. }
  38.  
  39.